{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy.stats.mstats import winsorize\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.linear_model import LinearRegression\n",
    "import numpy as np\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>limit_up</th>\n",
       "      <th>high</th>\n",
       "      <th>limit_down</th>\n",
       "      <th>total_turnover</th>\n",
       "      <th>volume</th>\n",
       "      <th>low</th>\n",
       "      <th>close</th>\n",
       "      <th>open</th>\n",
       "      <th>num_trades</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2015-04-01</th>\n",
       "      <td>11.0931</td>\n",
       "      <td>10.3314</td>\n",
       "      <td>9.0768</td>\n",
       "      <td>2.608977e+09</td>\n",
       "      <td>236637563.0</td>\n",
       "      <td>9.9537</td>\n",
       "      <td>10.2162</td>\n",
       "      <td>10.1265</td>\n",
       "      <td>72105.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-04-02</th>\n",
       "      <td>11.2403</td>\n",
       "      <td>10.3314</td>\n",
       "      <td>9.1920</td>\n",
       "      <td>2.222671e+09</td>\n",
       "      <td>202440588.0</td>\n",
       "      <td>9.9985</td>\n",
       "      <td>10.1137</td>\n",
       "      <td>10.2994</td>\n",
       "      <td>72424.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-04-03</th>\n",
       "      <td>11.1251</td>\n",
       "      <td>10.2034</td>\n",
       "      <td>9.1024</td>\n",
       "      <td>2.262844e+09</td>\n",
       "      <td>206631550.0</td>\n",
       "      <td>9.9921</td>\n",
       "      <td>10.1457</td>\n",
       "      <td>10.0497</td>\n",
       "      <td>61025.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-04-07</th>\n",
       "      <td>11.1635</td>\n",
       "      <td>10.8563</td>\n",
       "      <td>9.1344</td>\n",
       "      <td>4.898119e+09</td>\n",
       "      <td>426308008.0</td>\n",
       "      <td>10.3378</td>\n",
       "      <td>10.7603</td>\n",
       "      <td>10.3378</td>\n",
       "      <td>131387.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-04-08</th>\n",
       "      <td>11.8356</td>\n",
       "      <td>11.5732</td>\n",
       "      <td>9.6849</td>\n",
       "      <td>5.784459e+09</td>\n",
       "      <td>485517069.0</td>\n",
       "      <td>10.6578</td>\n",
       "      <td>11.4708</td>\n",
       "      <td>10.8371</td>\n",
       "      <td>135077.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-04-09</th>\n",
       "      <td>12.6166</td>\n",
       "      <td>12.1941</td>\n",
       "      <td>10.3250</td>\n",
       "      <td>5.794632e+09</td>\n",
       "      <td>456921108.0</td>\n",
       "      <td>11.3492</td>\n",
       "      <td>11.5220</td>\n",
       "      <td>11.4900</td>\n",
       "      <td>148293.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-04-10</th>\n",
       "      <td>12.6742</td>\n",
       "      <td>12.6742</td>\n",
       "      <td>10.3698</td>\n",
       "      <td>6.339649e+09</td>\n",
       "      <td>480990210.0</td>\n",
       "      <td>11.4260</td>\n",
       "      <td>12.6742</td>\n",
       "      <td>11.5220</td>\n",
       "      <td>139375.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            limit_up     high  limit_down  total_turnover       volume  \\\n",
       "date                                                                     \n",
       "2015-04-01   11.0931  10.3314      9.0768    2.608977e+09  236637563.0   \n",
       "2015-04-02   11.2403  10.3314      9.1920    2.222671e+09  202440588.0   \n",
       "2015-04-03   11.1251  10.2034      9.1024    2.262844e+09  206631550.0   \n",
       "2015-04-07   11.1635  10.8563      9.1344    4.898119e+09  426308008.0   \n",
       "2015-04-08   11.8356  11.5732      9.6849    5.784459e+09  485517069.0   \n",
       "2015-04-09   12.6166  12.1941     10.3250    5.794632e+09  456921108.0   \n",
       "2015-04-10   12.6742  12.6742     10.3698    6.339649e+09  480990210.0   \n",
       "\n",
       "                low    close     open  num_trades  \n",
       "date                                               \n",
       "2015-04-01   9.9537  10.2162  10.1265     72105.0  \n",
       "2015-04-02   9.9985  10.1137  10.2994     72424.0  \n",
       "2015-04-03   9.9921  10.1457  10.0497     61025.0  \n",
       "2015-04-07  10.3378  10.7603  10.3378    131387.0  \n",
       "2015-04-08  10.6578  11.4708  10.8371    135077.0  \n",
       "2015-04-09  11.3492  11.5220  11.4900    148293.0  \n",
       "2015-04-10  11.4260  12.6742  11.5220    139375.0  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#先开始我们的第一步啦.\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "a=get_price('000001.XSHE',start_date='2015-04-01',end_date='2015-04-12')\n",
    "a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "pandas.core.series.Series"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_000001=get_price('000001.XSHE', start_date='2013-01-04', end_date='2014-01-04', frequency='1d', fields='close', adjust_type='pre')\n",
    "type(stock_000001)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "date\n",
       "2013-01-04    5.2120\n",
       "2013-01-07    5.3131\n",
       "2013-01-08    5.2153\n",
       "2013-01-09    5.1697\n",
       "2013-01-10    5.1729\n",
       "Name: close, dtype: float64"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_000001.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>limit_up</th>\n",
       "      <th>high</th>\n",
       "      <th>limit_down</th>\n",
       "      <th>total_turnover</th>\n",
       "      <th>volume</th>\n",
       "      <th>low</th>\n",
       "      <th>close</th>\n",
       "      <th>open</th>\n",
       "      <th>num_trades</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2013-01-04</th>\n",
       "      <td>5.7434</td>\n",
       "      <td>5.3620</td>\n",
       "      <td>4.7003</td>\n",
       "      <td>7.175675e+08</td>\n",
       "      <td>122716027.0</td>\n",
       "      <td>5.1892</td>\n",
       "      <td>5.2120</td>\n",
       "      <td>5.3196</td>\n",
       "      <td>14847.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-01-07</th>\n",
       "      <td>5.7336</td>\n",
       "      <td>5.3294</td>\n",
       "      <td>4.6905</td>\n",
       "      <td>5.784505e+08</td>\n",
       "      <td>98750154.0</td>\n",
       "      <td>5.1762</td>\n",
       "      <td>5.3131</td>\n",
       "      <td>5.2088</td>\n",
       "      <td>12904.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-01-08</th>\n",
       "      <td>5.8444</td>\n",
       "      <td>5.3359</td>\n",
       "      <td>4.7818</td>\n",
       "      <td>5.013601e+08</td>\n",
       "      <td>86394227.0</td>\n",
       "      <td>5.1697</td>\n",
       "      <td>5.2153</td>\n",
       "      <td>5.3131</td>\n",
       "      <td>13639.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-01-09</th>\n",
       "      <td>5.7368</td>\n",
       "      <td>5.2218</td>\n",
       "      <td>4.6938</td>\n",
       "      <td>3.996962e+08</td>\n",
       "      <td>69487483.0</td>\n",
       "      <td>5.1501</td>\n",
       "      <td>5.1697</td>\n",
       "      <td>5.2023</td>\n",
       "      <td>11548.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-01-10</th>\n",
       "      <td>5.6879</td>\n",
       "      <td>5.2479</td>\n",
       "      <td>4.6514</td>\n",
       "      <td>3.833477e+08</td>\n",
       "      <td>66363569.0</td>\n",
       "      <td>5.1469</td>\n",
       "      <td>5.1729</td>\n",
       "      <td>5.1697</td>\n",
       "      <td>10789.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            limit_up    high  limit_down  total_turnover       volume     low  \\\n",
       "date                                                                            \n",
       "2013-01-04    5.7434  5.3620      4.7003    7.175675e+08  122716027.0  5.1892   \n",
       "2013-01-07    5.7336  5.3294      4.6905    5.784505e+08   98750154.0  5.1762   \n",
       "2013-01-08    5.8444  5.3359      4.7818    5.013601e+08   86394227.0  5.1697   \n",
       "2013-01-09    5.7368  5.2218      4.6938    3.996962e+08   69487483.0  5.1501   \n",
       "2013-01-10    5.6879  5.2479      4.6514    3.833477e+08   66363569.0  5.1469   \n",
       "\n",
       "             close    open  num_trades  \n",
       "date                                    \n",
       "2013-01-04  5.2120  5.3196     14847.0  \n",
       "2013-01-07  5.3131  5.2088     12904.0  \n",
       "2013-01-08  5.2153  5.3131     13639.0  \n",
       "2013-01-09  5.1697  5.2023     11548.0  \n",
       "2013-01-10  5.1729  5.1697     10789.0  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_000001=get_price('000001.XSHE', start_date='2013-01-04', end_date='2014-01-04', frequency='1d', adjust_type='pre')\n",
    "stock_000001.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>000002.XSHE</th>\n",
       "      <th>000024.XSHE</th>\n",
       "      <th>000001.XSHE</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2013-01-04</th>\n",
       "      <td>7.5652</td>\n",
       "      <td>19.9948</td>\n",
       "      <td>5.2120</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-01-07</th>\n",
       "      <td>7.5652</td>\n",
       "      <td>19.4741</td>\n",
       "      <td>5.3131</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-01-08</th>\n",
       "      <td>7.5652</td>\n",
       "      <td>19.0423</td>\n",
       "      <td>5.2153</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-01-09</th>\n",
       "      <td>7.5652</td>\n",
       "      <td>19.0804</td>\n",
       "      <td>5.1697</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-01-10</th>\n",
       "      <td>7.5652</td>\n",
       "      <td>19.1757</td>\n",
       "      <td>5.1729</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            000002.XSHE  000024.XSHE  000001.XSHE\n",
       "date                                             \n",
       "2013-01-04       7.5652      19.9948       5.2120\n",
       "2013-01-07       7.5652      19.4741       5.3131\n",
       "2013-01-08       7.5652      19.0423       5.2153\n",
       "2013-01-09       7.5652      19.0804       5.1697\n",
       "2013-01-10       7.5652      19.1757       5.1729"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_000001=get_price(['000024.XSHE', '000001.XSHE', '000002.XSHE'], start_date='2013-01-04', end_date='2014-01-04', frequency='1d', fields='close', adjust_type='pre')\n",
    "stock_000001.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python3.6/site-packages/rqdatac/services/get_price.py:134: UserWarning: Panel is removed after pandas version 0.25.0. the default value of 'expect_df' will change to True in the future.\n",
      "  warnings.warn(\"Panel is removed after pandas version 0.25.0.\"\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<class 'pandas.core.panel.Panel'>\n",
       "Dimensions: 9 (items) x 240 (major_axis) x 3 (minor_axis)\n",
       "Items axis: limit_up to num_trades\n",
       "Major_axis axis: 2013-01-04 00:00:00 to 2014-01-03 00:00:00\n",
       "Minor_axis axis: 000001.XSHE to 000024.XSHE"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 获取所有的三维信息\n",
    "stock_000001=get_price(['000024.XSHE', '000001.XSHE', '000002.XSHE'], start_date='2013-01-04', end_date='2014-01-04', frequency='1d', adjust_type='pre')\n",
    "stock_000001"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>limit_up</th>\n",
       "      <th>high</th>\n",
       "      <th>limit_down</th>\n",
       "      <th>total_turnover</th>\n",
       "      <th>volume</th>\n",
       "      <th>low</th>\n",
       "      <th>close</th>\n",
       "      <th>open</th>\n",
       "      <th>num_trades</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2013-01-04</th>\n",
       "      <td>20.8774</td>\n",
       "      <td>20.0011</td>\n",
       "      <td>17.0803</td>\n",
       "      <td>5.451177e+08</td>\n",
       "      <td>26568432.0</td>\n",
       "      <td>19.0741</td>\n",
       "      <td>19.9948</td>\n",
       "      <td>19.0804</td>\n",
       "      <td>11663.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-01-07</th>\n",
       "      <td>21.9949</td>\n",
       "      <td>20.0329</td>\n",
       "      <td>17.9947</td>\n",
       "      <td>5.036225e+08</td>\n",
       "      <td>24563299.0</td>\n",
       "      <td>19.1122</td>\n",
       "      <td>19.4741</td>\n",
       "      <td>19.9376</td>\n",
       "      <td>10047.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-01-08</th>\n",
       "      <td>21.4234</td>\n",
       "      <td>19.4741</td>\n",
       "      <td>17.5248</td>\n",
       "      <td>6.177849e+08</td>\n",
       "      <td>31063504.0</td>\n",
       "      <td>18.6042</td>\n",
       "      <td>19.0423</td>\n",
       "      <td>19.4741</td>\n",
       "      <td>14205.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-01-09</th>\n",
       "      <td>20.9472</td>\n",
       "      <td>19.1439</td>\n",
       "      <td>17.1375</td>\n",
       "      <td>5.119013e+08</td>\n",
       "      <td>25784560.0</td>\n",
       "      <td>18.6677</td>\n",
       "      <td>19.0804</td>\n",
       "      <td>18.9281</td>\n",
       "      <td>10997.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-01-10</th>\n",
       "      <td>20.9917</td>\n",
       "      <td>19.5440</td>\n",
       "      <td>17.1756</td>\n",
       "      <td>5.104589e+08</td>\n",
       "      <td>25227855.0</td>\n",
       "      <td>18.9725</td>\n",
       "      <td>19.1757</td>\n",
       "      <td>19.2138</td>\n",
       "      <td>14447.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            limit_up     high  limit_down  total_turnover      volume  \\\n",
       "date                                                                    \n",
       "2013-01-04   20.8774  20.0011     17.0803    5.451177e+08  26568432.0   \n",
       "2013-01-07   21.9949  20.0329     17.9947    5.036225e+08  24563299.0   \n",
       "2013-01-08   21.4234  19.4741     17.5248    6.177849e+08  31063504.0   \n",
       "2013-01-09   20.9472  19.1439     17.1375    5.119013e+08  25784560.0   \n",
       "2013-01-10   20.9917  19.5440     17.1756    5.104589e+08  25227855.0   \n",
       "\n",
       "                low    close     open  num_trades  \n",
       "date                                               \n",
       "2013-01-04  19.0741  19.9948  19.0804     11663.0  \n",
       "2013-01-07  19.1122  19.4741  19.9376     10047.0  \n",
       "2013-01-08  18.6042  19.0423  19.4741     14205.0  \n",
       "2013-01-09  18.6677  19.0804  18.9281     10997.0  \n",
       "2013-01-10  18.9725  19.1757  19.2138     14447.0  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_000001.minor_xs('000024.XSHE').head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[datetime.date(2013, 1, 4),\n",
       " datetime.date(2013, 1, 7),\n",
       " datetime.date(2013, 1, 8),\n",
       " datetime.date(2013, 1, 9),\n",
       " datetime.date(2013, 1, 10)]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "get_trading_dates( start_date='2013-01-04', end_date='2014-01-04')[:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python3.6/site-packages/ipykernel_launcher.py:2: UserWarning: 'get_fundamentals' is deprecated, and will be removed soon. use get_factor instead.\n",
      "  \n",
      "/usr/local/lib/python3.6/site-packages/rqdatac/services/financial.py:480: UserWarning: Panel is  removed after pandas version 0.25.0.the  default value of 'expect_df' will change to True in the future.\n",
      "  warnings.warn(\"Panel is  removed after pandas version 0.25.0.\"\n"
     ]
    }
   ],
   "source": [
    "dp=get_fundamentals(query=query(fundamentals.income_statement.revenue, fundamentals.income_statement.cost_of_goods_sold\n",
    ").filter(fundamentals.income_statement.stockcode.in_(['002478.XSHE', '000151.XSHE'])), entry_date= '2015-01-10', interval='5y', report_quarter=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>000151.XSHE</th>\n",
       "      <th>002478.XSHE</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2015-01-09</th>\n",
       "      <td>1.7337e+09</td>\n",
       "      <td>2.93784e+09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-01-09</th>\n",
       "      <td>8.83935e+08</td>\n",
       "      <td>2.92632e+09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-01-09</th>\n",
       "      <td>9.48898e+08</td>\n",
       "      <td>2.61653e+09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-01-09</th>\n",
       "      <td>6.20593e+08</td>\n",
       "      <td>2.68102e+09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-01-07</th>\n",
       "      <td>4.99812e+08</td>\n",
       "      <td>2.03415e+09</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            000151.XSHE  002478.XSHE\n",
       "2015-01-09   1.7337e+09  2.93784e+09\n",
       "2014-01-09  8.83935e+08  2.92632e+09\n",
       "2013-01-09  9.48898e+08  2.61653e+09\n",
       "2012-01-09  6.20593e+08  2.68102e+09\n",
       "2011-01-07  4.99812e+08  2.03415e+09"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dp['revenue']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>cost_of_goods_sold</th>\n",
       "      <th>revenue</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2015-01-09</th>\n",
       "      <td>1.50072e+09</td>\n",
       "      <td>1.7337e+09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-01-09</th>\n",
       "      <td>7.42093e+08</td>\n",
       "      <td>8.83935e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-01-09</th>\n",
       "      <td>8.73735e+08</td>\n",
       "      <td>9.48898e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-01-09</th>\n",
       "      <td>5.58121e+08</td>\n",
       "      <td>6.20593e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-01-07</th>\n",
       "      <td>4.33559e+08</td>\n",
       "      <td>4.99812e+08</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           cost_of_goods_sold      revenue\n",
       "2015-01-09        1.50072e+09   1.7337e+09\n",
       "2014-01-09        7.42093e+08  8.83935e+08\n",
       "2013-01-09        8.73735e+08  9.48898e+08\n",
       "2012-01-09        5.58121e+08  6.20593e+08\n",
       "2011-01-07        4.33559e+08  4.99812e+08"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 序列数据\n",
    "dp.minor_xs('000151.XSHE')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python3.6/site-packages/ipykernel_launcher.py:5: UserWarning: 'get_fundamentals' is deprecated, and will be removed soon. use get_factor instead.\n",
      "  \"\"\"\n"
     ]
    }
   ],
   "source": [
    "# 获取财务数据\n",
    "q = query(fundamentals.income_statement.revenue,\n",
    "         fundamentals.income_statement.cost_of_goods_sold\n",
    "         ).filter(fundamentals.stockcode.in_(['000024.XSHE', '000001.XSHE']))\n",
    "fund = get_fundamentals(q, entry_date=\"2017-01-03\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>cost_of_goods_sold</th>\n",
       "      <th>revenue</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>000151.XSHE</th>\n",
       "      <td>1.50072e+09</td>\n",
       "      <td>1.7337e+09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>002478.XSHE</th>\n",
       "      <td>2.43062e+09</td>\n",
       "      <td>2.93784e+09</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            cost_of_goods_sold      revenue\n",
       "000151.XSHE        1.50072e+09   1.7337e+09\n",
       "002478.XSHE        2.43062e+09  2.93784e+09"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dp[:,'2015-01-09',:][:,'2015-01-09',:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python3.6/site-packages/ipykernel_launcher.py:2: UserWarning: 'get_fundamentals' is deprecated, and will be removed soon. use get_factor instead.\n",
      "  \n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pe_ratio</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>600054.XSHG</th>\n",
       "      <td>25.9351</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>600316.XSHG</th>\n",
       "      <td>334.01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000570.XSHE</th>\n",
       "      <td>68.19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000892.XSHE</th>\n",
       "      <td>18.9271</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000715.XSHE</th>\n",
       "      <td>31.6029</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            pe_ratio\n",
       "600054.XSHG  25.9351\n",
       "600316.XSHG   334.01\n",
       "000570.XSHE    68.19\n",
       "000892.XSHE  18.9271\n",
       "000715.XSHE  31.6029"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 对pe_ration进行去极值\n",
    "fund = get_fundamentals(query(fundamentals.eod_derivative_indicator.pe_ratio), entry_date=\"20180102\")[:, \"20180102\", :]\n",
    "fund.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pe_ratio</th>\n",
       "      <th>pe_ration_winsorize</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>600054.XSHG</th>\n",
       "      <td>25.9351</td>\n",
       "      <td>25.9351</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>600316.XSHG</th>\n",
       "      <td>334.01</td>\n",
       "      <td>334.01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000570.XSHE</th>\n",
       "      <td>68.19</td>\n",
       "      <td>68.19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000892.XSHE</th>\n",
       "      <td>18.9271</td>\n",
       "      <td>18.9271</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000715.XSHE</th>\n",
       "      <td>31.6029</td>\n",
       "      <td>31.6029</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            pe_ratio pe_ration_winsorize\n",
       "600054.XSHG  25.9351             25.9351\n",
       "600316.XSHG   334.01              334.01\n",
       "000570.XSHE    68.19               68.19\n",
       "000892.XSHE  18.9271             18.9271\n",
       "000715.XSHE  31.6029             31.6029"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "fund['pe_ration_winsorize']=winsorize(fund['pe_ratio'],limits=0.025)\n",
    "fund.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7fce00156eb8>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fund['pe_ratio'][:500].plot()\n",
    "fund['pe_ration_winsorize'][:500].plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 求出两个分位数的点的值\n",
    "def quantile(factor,up,down):\n",
    "    up_scale=np.percentile(factor,up)\n",
    "    down_scale=np.percentile(factor,down)\n",
    "    factor=np.where(factor>up_scale,up_scale,factor)\n",
    "    factor=np.where(factor<down_scale,down_scale,factor)\n",
    "    return factor"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "# quantile(fund['pe_ratio'], 97.5, 2.5)\n",
    "fund['pe_percentile_ratio']=quantile(factor=fund['pe_ratio'],up=97.5,down=2.5)\n",
    " "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 4、中位数绝对偏差去极值\n",
    "def median(factor):\n",
    "    \"\"\"3倍中位数去极值\n",
    "    \"\"\"\n",
    "    # 求出因子值的中位数\n",
    "    med=np.median(factor)\n",
    "    # 求出因子值与中位数的差值，进行绝对值\n",
    "    mad=np.median(abs(factor-med))\n",
    "    \n",
    "    # 定义几倍的中位数上下限\n",
    "    high=med+(3*1.4826)*mad\n",
    "    low=med-(3*1.4826)*mad\n",
    "    \n",
    "    # 替换上下限以外的值\n",
    "    factor=np.where(factor>high,high,factor)\n",
    "    factor=np.where(factor<low,low,factor)\n",
    "    return factor"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "fund['pe_3mad']=median(fund['pe_ratio'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7fcdfbf562e8>"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fund['pe_ratio'][:500].plot()\n",
    "fund['pe_3mad'][:500].plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 5、正态分布去极值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 3sigma原则\n",
    "def three_sigma(factor):\n",
    "\n",
    "  # 求出因子数据的平均值和标准差\n",
    "  mean = factor.mean()\n",
    "  std = factor.std()\n",
    "  # 左右的数据加减3个标准差\n",
    "  high = mean + (1 * std)\n",
    "  low = mean - (1 * std)\n",
    "\n",
    "  # 替换极值数据\n",
    "  factor = np.where(factor > high, high, factor)\n",
    "  factor = np.where(factor < low, low, factor)\n",
    "\n",
    "  return factor"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7fcdfbe42550>"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fund['pe_three_sigma']=three_sigma(fund['pe_ratio'])\n",
    "fund['pe_ratio'][:500].plot()\n",
    "fund['pe_three_sigma'][:500].plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "600054.XSHG    25.9351\n",
       "600316.XSHG     334.01\n",
       "000570.XSHE      68.19\n",
       "000892.XSHE    18.9271\n",
       "000715.XSHE    31.6029\n",
       "Name: pe_ratio, dtype: object"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fund['pe_ratio'].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import StandardScaler\n",
    "std=StandardScaler()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "def stand(factor):\n",
    "    \"\"\"\n",
    "    自实现标准化\n",
    "    \"\"\"\n",
    "    mean=factor.mean()\n",
    "    std=factor.std()\n",
    "    return (factor-mean)/std"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "600054.XSHG    -0.234276\n",
       "600316.XSHG      1.26669\n",
       "000570.XSHE   -0.0284054\n",
       "000892.XSHE    -0.268419\n",
       "000715.XSHE    -0.206661\n",
       "Name: pe_ratio, dtype: object"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fund['pe_ratio']=stand(fund['pe_ratio'])\n",
    "fund['pe_ratio'].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7fce00102c50>"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fund['pe_ratio'].plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.linear_model import LinearRegression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python3.6/site-packages/ipykernel_launcher.py:5: UserWarning: 'get_fundamentals' is deprecated, and will be removed soon. use get_factor instead.\n",
      "  \"\"\"\n"
     ]
    }
   ],
   "source": [
    "# 获取两个因子\n",
    "q=query(fundamentals.eod_derivative_indicator.pb_ratio,fundamentals.eod_derivative_indicator.market_cap)\n",
    "\n",
    "# 获取某一天的横截面数据\n",
    "factor=get_fundamentals(q,entry_date='2018-01-03')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "panel=factor\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pb_ratio</th>\n",
       "      <th>market_cap</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>600073.XSHG</th>\n",
       "      <td>2.1877</td>\n",
       "      <td>7.7644e+09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000612.XSHE</th>\n",
       "      <td>2.3565</td>\n",
       "      <td>1.10994e+10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>600033.XSHG</th>\n",
       "      <td>1.162</td>\n",
       "      <td>1.00994e+10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000017.XSHE</th>\n",
       "      <td>218.829</td>\n",
       "      <td>3.47901e+09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>600470.XSHG</th>\n",
       "      <td>1.4695</td>\n",
       "      <td>3.04614e+09</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            pb_ratio   market_cap\n",
       "600073.XSHG   2.1877   7.7644e+09\n",
       "000612.XSHE   2.3565  1.10994e+10\n",
       "600033.XSHG    1.162  1.00994e+10\n",
       "000017.XSHE  218.829  3.47901e+09\n",
       "600470.XSHG   1.4695  3.04614e+09"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "panel[:,'2018-01-03',:].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pb_ratio</th>\n",
       "      <th>market_cap</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>600073.XSHG</th>\n",
       "      <td>2.1877</td>\n",
       "      <td>7.7644e+09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000612.XSHE</th>\n",
       "      <td>2.3565</td>\n",
       "      <td>1.10994e+10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>600033.XSHG</th>\n",
       "      <td>1.162</td>\n",
       "      <td>1.00994e+10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000017.XSHE</th>\n",
       "      <td>218.829</td>\n",
       "      <td>3.47901e+09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>600470.XSHG</th>\n",
       "      <td>1.4695</td>\n",
       "      <td>3.04614e+09</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            pb_ratio   market_cap\n",
       "600073.XSHG   2.1877   7.7644e+09\n",
       "000612.XSHE   2.3565  1.10994e+10\n",
       "600033.XSHG    1.162  1.00994e+10\n",
       "000017.XSHE  218.829  3.47901e+09\n",
       "600470.XSHG   1.4695  3.04614e+09"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "factor=panel[:,'2018-01-03',:]\n",
    "\n",
    "factor.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pb_ratio</th>\n",
       "      <th>market_cap</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>600073.XSHG</th>\n",
       "      <td>-0.740836</td>\n",
       "      <td>7.7644e+09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000612.XSHE</th>\n",
       "      <td>-0.662451</td>\n",
       "      <td>1.10994e+10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>600033.XSHG</th>\n",
       "      <td>-1.21714</td>\n",
       "      <td>1.00994e+10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000017.XSHE</th>\n",
       "      <td>2.33074</td>\n",
       "      <td>3.47901e+09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>600470.XSHG</th>\n",
       "      <td>-1.07435</td>\n",
       "      <td>3.04614e+09</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             pb_ratio   market_cap\n",
       "600073.XSHG -0.740836   7.7644e+09\n",
       "000612.XSHE -0.662451  1.10994e+10\n",
       "600033.XSHG  -1.21714  1.00994e+10\n",
       "000017.XSHE   2.33074  3.47901e+09\n",
       "600470.XSHG  -1.07435  3.04614e+09"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 先对pb_ratio进行去极值标准化处理\n",
    "factor['pb_ratio']=median(factor['pb_ratio'])\n",
    "factor['pb_ratio']=stand(factor['pb_ratio'])\n",
    "factor.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "600073.XSHG     7.7644e+09\n",
       "000612.XSHE    1.10994e+10\n",
       "600033.XSHG    1.00994e+10\n",
       "000017.XSHE    3.47901e+09\n",
       "600470.XSHG    3.04614e+09\n",
       "Name: market_cap, dtype: object"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "factor['market_cap'].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "x = factor['market_cap'].values.reshape(-1,1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[7764400028.0],\n",
       "       [11099376358.0],\n",
       "       [10099392000.0],\n",
       "       ...,\n",
       "       [167133250284.0],\n",
       "       [15564596442.0],\n",
       "       [6549561105.0]], dtype=object)"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [],
   "source": [
    "y = factor['pb_ratio']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 建立回归方程并预测\n",
    "lr=LinearRegression()\n",
    "lr.fit(x,y)\n",
    "y_predict=lr.predict(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [],
   "source": [
    "factor['pb_ratio']=y-y_predict"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7fcdf7d42160>"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "factor['pb_ratio'][:500].plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
